/**
 *  @file enemyShip.h
 *
 *  @date 16-nov-2009
 *  @author Ives van der Flaas
 */

#ifndef ENEMYSHIP_H_
#define ENEMYSHIP_H_

#include "ship.h"
#include "shipDescr.h"

namespace si
{

/**
 * A ship that can kill FriendlyShip's. Controlled by the computer.
 */
class EnemyShip: public si::Ship
{
public:
	EnemyShip(si::Vector2 startPosition, ShipDescr descriptor);
	virtual ~EnemyShip();

	virtual void update(double time);

	/**
	 * Returns true when this ship is in the friendly ship's safety zone. This means the game needs to end!
	 * @return
	 */
	virtual bool isTooLow() const { return (fController->getPosition().getY() - fVirtualSize.getY() < -2); }

protected:
	double fAvgTimeToShooting;
	ProjectileType fProjectileType;
};

}

#endif /* ENEMYSHIP_H_ */
